package com.ssy.lingxi.order.service.base;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.order.model.vo.basic.response.AreaVO;

import java.util.List;

/**
 * 省市区基础服务接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-17
 */
public interface IBaseCountryAreaService {

    /**
     * 查询省列表
     * @param includeCountry 是否包括“全国”
     * @param topItemName 需要插入到列表第0项的名称，空或Null不插入
     * @return 省列表
     */
    Wrapper<List<AreaVO>> listProvinces(boolean includeCountry, String topItemName);

    /**
     * 根据省编码查询市列表
     * @param provinceCode 省编码
     * @param topItemName 需要插入到列表第0项的名称，空或Null不插入
     * @return 市列表
     */
    Wrapper<List<AreaVO>> listCities(String provinceCode, String topItemName);

    /**
     * 根据市编码查询区列表
     * @param cityCode 市编码
     * @param topItemName 需要插入到列表第0项的名称，空或Null不插入
     * @return 区列表
     */
    Wrapper<List<AreaVO>> listDistrict(String cityCode, String topItemName);
}
